Components of integrated circuits exhibit leakage characteristics that affect the performance of the integrated circuit. Leakage characteristics are dependent on the junction temperature of the integrated circuit as well as process corners and voltage variations associated with the integrated circuit. The junction temperature of the integrated circuit is dependent on the design of the integrated circuit, the operating characteristics of the integrated circuit, and the system thermal characteristics of the environment in which the integrated circuit is operating.
Thermal runaway is a phenomenon that occurs in integrated circuits where the junction temperature of the integrated circuit reaches a point (e.g., critical junction temperature) where a stable operating temperature for the integrated circuit cannot be achieved. Once the critical junction temperature is reached, any additional increase in junction temperature leads to an increase in leakage current that further increases the junction temperature and so on, resulting in thermal runaway that may lead to misbehavior of the integrated circuit, damage to the integrated circuit, current limit shutdown, etc. At the critical junction temperature, any increase in leakage current from elevating junction temperature becomes greater than the system's ability to dissipate the heat from that increase.
Programmable devices can be programmed by a user to perform various functions. One type of programmable device is a Field Programmable Gate Array (FPGA), which falls within a category of integrated circuits known as programmable logic devices (PLDs). FPGAs can be programmed for a specific application by configuring interconnects and logic elements of the FPGA in accordance with a user-design.
In some cases, vendors of programmable devices may provide an IC curve that illustrates the leakage characteristics of the programmable device. However, these IC curves are general to the programmable device and not specific to the user-design or user programming for the programmable device. Said otherwise, the same IC curve is provided for every programmable device of the same type without accounting for the specific user-design to be implemented in the programmable device. However, different user-designs on the same programmable device may have different leakage characteristics. This is because different user-designs implement different components (e.g., Transceivers, BRAM, Clock managers, etc.) of the programmable device, resulting in unique leakage current characteristics.
Because vendors cannot account for every user-design, they may provide IC curves that illustrate leakage characteristics generally for typical or worst case scenarios of the programmable device to the end user, where the end user may need to perform its own empirical testing to determine the critical junction temperature for its specific user-design. In addition, these generic IC curves are usually only provided over a recommended operating temperature range. The critical junction temperature may lie beyond the operating temperature range, which would cause concern when a system or environmental change causes the junction temperature to temporarily rise beyond the operating range.